查看原文
其他

实战!配置DataDog监控Apache Hudi应用指标

raymondxu ApacheHudi 2022-04-23

1. 可用性

在Hudi最新master分支,由Hudi活跃贡献者Raymond Xu贡献了DataDog监控Hudi应用指标,该功能将在0.6.0 版本发布,也感谢Raymond的投稿。

2. 简介

Datadog是一个流行的监控服务。在即将发布的Apache Hudi 0.6.0版本中,除已有的报告者类型(Graphite和JMX)之外,我们将引入通过Datadog HTTP API报告Hudi指标的功能。

3. 配置

类似于其他支持的报告者,启用Datadog报告者需要以下两个属性。

  1. hoodie.metrics.on=true

  2. hoodie.metrics.reporter.type=DATADOG

下面的属性用来配置Datdog API站点。它会决定请求被发送给 api.datadoghq.eu (EU) 还是 api.datadoghq.com (US)。根据你的Datadog账号作相应配置。

  1. hoodie.metrics.datadog.api.site=EU # 或者 US

hoodie.metrics.datadog.api.key可以让你配置API密匙。

  1. hoodie.metrics.datadog.api.key=<你的API密匙>

  2. hoodie.metrics.datadog.api.key.supplier=<你的API密匙提供者>

出于安全性考虑,你可能会选择在运行时返回API密匙。要使用这个方法,需要实现 java.util.function.Supplier<String>。并把实现类的完整类名设置到 hoodie.metrics.datadog.api.key.supplier。由于 hoodie.metrics.datadog.api.key有更高的优先级,也要确保它没有设置。

下面的属性用来配置指标前缀,从而区分不同job的指标。

  1. hoodie.metrics.datadog.metric.prefix=<你的指标前缀>

注意这里 .会被用来隔离前缀和指标名。比如,如果前缀是 foo,则 foo.会被加在指标名称前。

其他的可选属性在配置参考页里有相关解释。

4. 示例演示

在这个示例中,我们运行了一个 HoodieDeltaStreamer,启用了指标收集并做了相应的配置。

如图所示,我们能收集到Hudi操作相关的指标,比如

  • <前缀>.<表名>.commit.totalScanTime

  • <前缀>.<表名>.clean.duration

  • <前缀>.<表名>.index.lookup.duration

以及 HoodieDeltaStreamer相关的指标。

  • <前缀>.<表名>.deltastreamer.duration

  • <前缀>.<表名>.deltastreamer.hiveSyncDuration

5. 总结

Hudi提供了多种报告者,方便监控Hudi应用运行时的各项指标,及时发现系统中的问题。

猜你喜欢

Apache Hudi在医疗大数据中的应用

填坑!线上Presto查询Hudi表异常排查

Apache Hudi典型应用场景知多少?

一个月增长4倍!数据揭示当下增长势头最猛的开源数据湖框架!

真香!PySpark整合Apache Hudi实战


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存